config BR2_TARGET_ARM_TRUSTED_FIRMWARE
	bool "ARM Trusted Firmware (ATF)"
	depends on (BR2_ARM_CPU_ARMV8A || BR2_ARM_CPU_ARMV7A) && \
		   BR2_TARGET_UBOOT
	help
	  Enable this option if you want to build the ATF for your ARM
	  based embedded device.

	  https://github.com/ARM-software/arm-trusted-firmware

if BR2_TARGET_ARM_TRUSTED_FIRMWARE
choice
	prompt "ATF Version"
	help
	  Select the specific ATF version you want to use

config BR2_TARGET_ARM_TRUSTED_FIRMWARE_LATEST_VERSION
	bool "v1.4"

config BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION
	bool "Custom version"
	help
	  This option allows to use a specific official versions

config BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL
	bool "Custom tarball"

config BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT
	bool "Custom Git repository"

endchoice

if BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL

config BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION
	string "URL of custom ATF tarball"

endif

config BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE
	string "ATF version"
	depends on BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION

config BR2_TARGET_ARM_TRUSTED_FIRMWARE_VERSION
	string
	default "v1.4"		if BR2_TARGET_ARM_TRUSTED_FIRMWARE_LATEST_VERSION
	default "custom"	if BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL
	default BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION \
				if BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT
	default BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE \
				if BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION

if BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT

config BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_URL
	string "URL of custom repository"

config BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION
	string "Custom repository version"
	help
	  Revision to use in the typical format used by Git
	  E.G. a sha id, a tag, ..

endif

config BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM
	string "ATF platform"
	help
	  Target plaform to build for.

config BR2_TARGET_ARM_TRUSTED_FIRMWARE_FIP
	bool "Build FIP image"
	help
	  This option enables building the FIP image (Firmware Image
	  Package). This is typically the image format used by
	  platforms were ATF encapsulates the second stage bootloader
	  (such as U-Boot).

config BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31
	bool "Build BL31 image"
	help
	  This option enables building the BL31 image. This is
	  typically used on platforms where another bootloader (e.g
	  U-Boot) encapsulates ATF BL31.

config BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31_UBOOT
	bool "Build BL31 U-Boot image"
	select BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31
	help
	  Generates a U-Boot image named atf-uboot.ub containing
	  bl31.bin.  This is used for example by the Xilinx version of
	  U-Boot SPL to load ATF on the ZynqMP SoC.

choice
	prompt "BL32"
	default BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL32_DEFAULT
	help
	  Select BL32 stage for the trusted firmware

config BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL32_DEFAULT
	bool "Default"
	help
	  With this option selected, ATF will not use any BL32 stage,
	  unless if one is explicitly chosen using the SPD (for
	  AArch64) or AARCH32_SP (for AArch32) variables, which can be
	  passed through
	  BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES.

config BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL32_OPTEE
	bool "OP-TEE OS"
	depends on BR2_TARGET_OPTEE_OS
	help
	  This option allows to embed OP-TEE OS as the BL32 part of
	  the ARM Trusted Firmware boot sequence.

endchoice

config BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_AS_BL33
	bool "Use U-Boot as BL33"
	depends on BR2_TARGET_UBOOT
	help
	  This option allows to embed u-boot.bin as the BL33 part of
	  the ARM Trusted Firmware. It ensures that the u-boot package
	  gets built before ATF, and that the appropriate BL33
	  variable pointing to u-boot.bin is passed when building ATF.

config BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES
	string "Additional ATF build variables"
	help
	  Additional parameters for the ATF build
	  E.G. 'DEBUG=1 LOG_LEVEL=20'

config BR2_TARGET_ARM_TRUSTED_FIRMWARE_DEBUG
	bool "Build in debug mode"
	help
	  Enable this option to build ATF with DEBUG=1.

endif
